package com.allwees.bs.c.module.ops.service;

import com.allwees.bs.c.module.ops.vo.AccountStaticVariableVo;
import com.allwees.bs.c.module.user.entity.UserCashEntity;
import com.allwees.bs.core.model.coupon.constant.ECashUseType;

import java.math.BigDecimal;

public interface CashActiveDefUseService {

    /**
     * @param userUuid
     * @param relateKey
     * @param value
     */
    void use(String userUuid, String relateKey, BigDecimal value);

    /**
     * @param userUuid
     * @param useType
     */
    void inviterReceived(String userUuid, ECashUseType useType);

    /**
     *
     * @param userUuid
     * @param orderUuid
     * @param value
     */
    void refunded(String userUuid, String orderUuid , BigDecimal value);

    /**
     *
     * @param userUuid
     * @param cartId
     * @return
     */
     UserCashEntity checkByUserUuid(String userUuid,String cartId ,BigDecimal useCash);

    /**
     *
     * @return
     */
    AccountStaticVariableVo staticVariable();
}
